<script setup>
import { RouterView } from 'vue-router'
import { useRouter } from 'vue-router'
import { onMounted } from 'vue'
import { useUserStore } from './stores/user'

const router = useRouter()
const userStore = useUserStore()

onMounted(async () => {
  try {
    // 从localStorage初始化用户信息
    userStore.initializeUser()
    
    // 如果有token但没有用户信息，尝试获取用户信息
    if (userStore.token && !userStore.user) {
      await userStore.fetchCurrentUser()
    }
  } catch (error) {
    console.error('初始化用户信息失败:', error)
  }
  
  // 检查是否已登录
  const currentRoute = router.currentRoute.value.path
  
  // 如果没有token且当前不在登录或注册页面，则跳转到登录页面
  if (!userStore.isAuthenticated && 
      currentRoute !== '/login' && 
      currentRoute !== '/register') {
    router.push('/login')
  }
})
</script>

<template>
  <RouterView />
</template>

<style scoped>
/* 全局样式已在base.css和main.css中定义 */
</style>
